//封装模块抽取共同部分，用于复用

import axios from "axios";
import {Toast} from "vant";

const http = axios.create({
    baseURL: 'https://m.maizuo.com',
    timeout: 10000,
    headers: {
        'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.0.4","e":"160860133388407606820865","bc":"310100"}',
    },
})

// 添加请求拦截器
http.interceptors.request.use(function (config) {
    // 在发送请求之前做点什么
    Toast.loading({
        message: '拼命加载中...',
        forbidClick: true,
        loadingType: 'spinner', //自定义加载样式
    });

    return config;
}, function (error) {
    // 做一些请求错误
    return Promise.reject(error);
});

// 添加响应拦截器
http.interceptors.response.use(function (response) {
    // 任何位于2xx范围内的状态码都会触发此功能
    // 对响应数据进行处理
    // 手动清除 Toast
    Toast.clear();
    Toast.success('加载完成！');

    return response;
}, function (error) {
    // 任何超出2xx范围的状态码都会触发此功能
    // 做一些响应错误
    return Promise.reject(error);
});


export default http